package controlador;

import java.awt.Image;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.JFileChooser;
import javax.swing.JLabel;

import modelo.Modelo;
import vista.Item;

public class ItemCtrl {

	private String txtItem;
	private String txtColor;
	private String txtTalla;
	private String txtLogo;
	private String txtObs;
	private String txtStockInicial;
	private String txtStockMinimo;
	private JLabel lblImagen;
	private FileInputStream fis;
	private Item item;
	private Controlador controlador;
	private Modelo modelo;
	
	
	
	public Modelo getModelo() {
		return modelo;
	}
	public void setModelo(Modelo modelo) {
		this.modelo = modelo;
	}
	public Controlador getControlador() {
		return controlador;
	}
	public void setControlador(Controlador controlador) {
		this.controlador = controlador;
	}
	public Item getItem() {
		return item;
	}
	public void setItem(Item item) {
		this.item = item;
	}
	public String getTxtItem() {
		return txtItem;
	}
	public void setTxtItem(String txtItem) {
		this.txtItem = txtItem;
	}
	public String getTxtColor() {
		return txtColor;
	}
	public void setTxtColor(String txtColor) {
		this.txtColor = txtColor;
	}
	public String getTxtTalla() {
		return txtTalla;
	}
	public void setTxtTalla(String txtTalla) {
		this.txtTalla = txtTalla;
	}
	public String getTxtLogo() {
		return txtLogo;
	}
	public void setTxtLogo(String txtLogo) {
		this.txtLogo = txtLogo;
	}
	public String getTxtObs() {
		return txtObs;
	}
	public void setTxtObs(String txtObs) {
		this.txtObs = txtObs;
	}
	public String getTxtStockInicial() {
		return txtStockInicial;
	}
	public void setTxtStockInicial(String txtStockInicial) {
		this.txtStockInicial = txtStockInicial;
	}
	public String getTxtStockMinimo() {
		return txtStockMinimo;
	}
	public void setTxtStockMinimo(String txtStockMinimo) {
		this.txtStockMinimo = txtStockMinimo;
	}	
	public JLabel getLblImagen() {
		return lblImagen;
	}
	public void setLblImagen(JLabel lblImagen) {
		this.lblImagen = lblImagen;
	}
	
	public boolean ingresarItem(){

		boolean x = false;
		
		modelo = controlador.getModelo();
		
		if (modelo.ingresarItem(txtItem, txtColor, txtLogo, txtObs, txtStockInicial, txtStockMinimo, txtTalla, fis)) {
			limpiarFis();
			x = true;
		} else {
			x = false;
		}
		
		
		
		
		return x;
	}
	public void buscarImagen(int height, int width) {
		lblImagen = new JLabel();
				
		JFileChooser se = new JFileChooser();
        se.setFileSelectionMode(JFileChooser.FILES_ONLY);
        int estado = se.showOpenDialog(null);

        if (estado == JFileChooser.APPROVE_OPTION) {
            try {
                fis = new FileInputStream(se.getSelectedFile());                
                Image icono = ImageIO.read(se.getSelectedFile()).getScaledInstance(width, height, Image.SCALE_DEFAULT);
                item.cambiarImagen(icono);

            } catch (FileNotFoundException ex) {
                ex.printStackTrace();
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }		
	}
	
	public void limpiarFis(){
		fis = null;
	}
	
	

}
